<template>
  <div id="app">
    <keep-alive include="Hello,batch,clue">
      <router-view class="child-view" v-on:ShareAppMessage="ShareAppMessage" v-on:ifOpenid="ifOpenid"></router-view>
    </keep-alive>
  </div>
</template>
<script>
  import reset from './common/reset.css';
  import CONSTANT from '@/common/constants.js'
  import http from '@/common/http.js'
  import wx from 'weixin-js-sdk'

  export default {
    name: 'app',
    mounted () {
      var urlaa = window.location.href
      // console.log(urlaa)
      var json = {time: new Date().getTime()}
      var arrbb = urlaa.split('?#')[1]
      var arr = urlaa.split('#')
      if (!arrbb) {
        window.location.href = (json, ' ', arr[0] + '?#' + arr[1])
      }
      let thisPageUrl = window.location.href.split('#')[0]
      http.post(CONSTANT.WXCONFIG, {'url': thisPageUrl}, (res) => {
        if (res.code == 200) {
          console.log('config参数已返回')
          wx.config({
            "debug": false,
            "appId": res.obj.appid,
            "timestamp": res.obj.timestamp,
            "nonceStr": res.obj.nonceStr,
            "signature": res.obj.signature,
            "jsApiList": ['onMenuShareAppMessage', 'onMenuShareQZone', 'onMenuShareWeibo', 'onMenuShareQQ', 'onMenuShareTimeline', 'previewImage']
          })
        }
      })
    },
    methods: {
      ifOpenid (have, someid) {
        //alert('首页授权')
        var openids = window.sessionStorage.getItem('openid')
        var openidUrl = this.$route.query.openId
        // 如果openid没有保存到本地
        if (openids == '' || openids == null || openids == 'undefined') {
          // 如果openid存在于地址栏中
          if (openidUrl) {
            // 将其保存在本地中
            console.log('进行本地存储')
            window.sessionStorage.setItem('openid', openidUrl)
            window.sessionStorage.setItem('userId', this.$route.query.userId)
            window.sessionStorage.setItem('wxAvatar', this.$route.query.wxAvatar)
            window.sessionStorage.setItem('nickName', this.$route.query.nickName)
            // 保存在本地中之后  获取当前地址栏中的hash
            // var currentUrl = window.location.href
            var currentUrl = window.location.hash
            // 删除掉openId字段
            var targetUrl = currentUrl.replace(/openId=/, '')
            // 让浏览器地址改变成为没有openId参数的地址 并且histroy中不会缓存同一个页面
            window.location.hash = targetUrl
            // if (window.history.replaceState) {
            //   console.log('存在window.history.replaceState（）方法')
            //   window.history.replaceState(null, null, targetUrl)
            // } else {
            //   console.log('不存在window.history.replaceState(）方法')
            //   window.history.pushState(null, null, targetUrl)
            // }
          } else {
            // 如果地址栏中没有openid存在并且本地也没有 那么我们需要重新授权
            // 我们就需要判断当前页面是哪个页面
            if (have == '/Project') {
              // 项目详情授权
               window.location.href = 'http://www.qqchou.org/a/wxinterface/wxOAuth?category=3&event_id=' + someid
            } else if (have == '/homedonation') {
              // 发起一起捐授权  打包时下面这句话不要注释
               window.location.href = 'http://www.qqchou.org/a/wxinterface/wxOAuth?category=1&together_id=' + someid
            } else if (have == '/userbook') {
              // 用户证书授权  打包时下面这句话不要注释
              window.location.href = 'http://www.qqchou.org/a/wxinterface/wxOAuth?category=4'
            } else if (have == '/loveRoad') {
              // 成长历程授权  打包时下面这句话不要注释
              window.location.href = 'http://www.qqchou.org/a/wxinterface/wxOAuth?category=6'
            } else if (have == '/oneToOneMore') {
              // 成长历程授权  打包时下面这句话不要注释
              window.location.href = 'http://www.qqchou.org/a/wxinterface/wxOAuth?category=7&event_id=' + someid
            } else if (have == '/oneToOneDetails') {
                //大学生详情 打包时下面这句话不要注释
                window.location.href = 'http://www.qqchou.org/a/wxinterface/wxOAuth?category=8&event_id=' + someid
             }
            else {
             // 首页授权   打包时下面这句话不要注释
              window.location.href = 'http://www.qqchou.org/a/wxinterface/wxOAuth'
            }
          }
        } else {
          // 如果本地保存的有openid
          if (openidUrl) {
            // 如果地址栏中存在openId参数
            // 获取当前地址栏中的地址
            var currentUrls = window.location.hash
            // 删除掉openId字段
            var targetUrls = currentUrls.replace(/openId=/, '')
            window.location.hash = targetUrls
            // 让浏览器地址改变成为没有openId参数的地址 并且histroy中不会缓存同一个页面
            // if (window.history.replaceState) {
            //   console.log('存在window.history.replaceState（）方法')
            //   window.history.replaceState(null, null, targetUrls)
            // } else {
            //   console.log('不存在window.history.replaceState(）方法')
            //   window.history.pushState(null, null, targetUrls)
            // }
          }
        }
      },
      ShareAppMessage (title, desc, link, imgUrl) {
        // alert('微信分享')
        // console.log(title, desc, link, imgUrl)
        wx.ready(function () {
          // 分享到qq空间
          wx.onMenuShareQZone({
            title: title, // 分享标题
            desc: desc, // 分享描述
            link: link, // 分享链接
            imgUrl: imgUrl, // 分享图标
            success: function () {
              // 用户确认分享后执行的回调函数
            },
            cancel: function () {
              // 用户取消分享后执行的回调函数
            }
          });
          // 分享到腾讯微博
          wx.onMenuShareWeibo({
            title: title, // 分享标题
            desc: desc, // 分享描述
            link: link, // 分享链接
            imgUrl: imgUrl, // 分享图标
            success: function () {
              // 用户确认分享后执行的回调函数
            },
            cancel: function () {
              // 用户取消分享后执行的回调函数
            }
          });
          // 分享到qq
          wx.onMenuShareQQ({
            title: title, // 分享标题
            desc: desc, // 分享描述
            link: link, // 分享链接
            imgUrl: imgUrl, // 分享图标
            success: function () {
              // 用户确认分享后执行的回调函数
            },
            cancel: function () {
              // 用户取消分享后执行的回调函数
            }
          });
          // 分享到朋友圈
          wx.onMenuShareTimeline({
            title: title, // 分享标题
            link: link, // 分享链接，该链接域名必须与当前企业的可信域名一致
            imgUrl: imgUrl, // 分享图标
            success: function () {
              // 用户确认分享后执行的回调函数
            },
            cancel: function () {
              // 用户取消分享后执行的回调函数
            }
          });
          // 分享给朋友
          wx.onMenuShareAppMessage({
            title: title, // 分享标题
            desc: desc, // 分享描述
            link: link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: imgUrl, // 分享图标
            type: '', // 分享类型,music、video或link，不填默认为link
            dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
            success: function (res) {
              // 用户确认分享后执行的回调函数
              // console.log('分享成功！')
            },
            cancel: function (res) {
              // 用户取消分享后执行的回调函数
            }
          });
        })
      }
    }
  }
</script>
<style>
  @font-face {
    font-family: 'iconfont';  /* project id 404427 */
    src: url('//at.alicdn.com/t/font_404427_s54v910wsr553ik9.eot');
    src: url('//at.alicdn.com/t/font_404427_s54v910wsr553ik9.eot?#iefix') format('embedded-opentype'),
    url('//at.alicdn.com/t/font_404427_s54v910wsr553ik9.woff') format('woff'),
    url('//at.alicdn.com/t/font_404427_s54v910wsr553ik9.ttf') format('truetype'),
    url('//at.alicdn.com/t/font_404427_s54v910wsr553ik9.svg#iconfont') format('svg');
  }

  .iconfont {
    font-family: "iconfont" !important;
    font-size: 16px;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -webkit-text-stroke-width: 0.2px;
    -moz-osx-font-smoothing: grayscale;
  }

  .icon {
    width: 1em;
    height: 1em;
    vertical-align: -0.15em;
    fill: currentColor;
    overflow: hidden;
  }

  #app {
    font-family: 'Avenir', Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-align: center;
    color: #2c3e50;
    height: 100%;
    /*margin-top: 22px;*/
  }

  a {
    color: #333333;
  }
</style>
<style scoped lang="less">
  @import '~vux/src/styles/reset.less';
  @import '//at.alicdn.com/t/font_404427_s54v910wsr553ik9.css';
</style>

